﻿using System;
using System.Runtime.Serialization;
using EzDesk.Core.Model;

namespace EzDesk.Apps.Model.Attendance
{

    [DataContract]
    public enum ApplyState
    {
        /// <summary>
        /// 正在申请
        /// </summary>
        [EnumMember]
        Applying,

        /// <summary>
        /// 已处理
        /// </summary>
        [EnumMember]
        Done,
    }

    /// <summary>
    /// 对考勤评估进行修改的申请
    /// </summary>
    [DataContract]
    public class EvaluationModifyApplicaiton : IModel
    {
        [DataMember]
        public Guid Id { get; set; }

        /// <summary>
        /// 申请人用户Id
        /// </summary>
        [DataMember]
        public Guid ApplyUserId { get; set; }

        /// <summary>
        /// 申请时间
        /// </summary>
        [DataMember]
        public DateTime ApplyOn { get; set; }

        /// <summary>
        /// 申请修改评估的考勤日期
        /// </summary>
        [DataMember]
        public DateTime Date { get; set; }

        /// <summary>
        /// 申请理由
        /// </summary>
        [DataMember]
        public string ApplyText { get; set; }

        /// <summary>
        /// 申请状态
        /// </summary>
        [DataMember]
        public ApplyState State { get; set; }

        /// <summary>
        /// 申请用户
        /// </summary>
        [DataMember]
        public SimpleUser ApplyUser { get; set; }

        /// <summary>
        /// 与此条申请相关的FeedId
        /// </summary>
        public Guid FeedId { get; set;} 
    }

}